In a transmission of data over a digital communication network, such as an asynchronous transfer mode or ATM network, problems arise when multiple sources send data cells or packets at widely varying rates through a switch node or link of the network at an aggregated rate which taxes the ability of that switch node or link to handle the data. Congestion occurs at the node of a network when data arrives at the node at a rate exceeding the rate at which the node can process and forward the data to other nodes. The excess data then accumulates in buffer storage at the node, which fills at a rate which is the difference between the arrival rate and the processing and forwarding rate. If the congestion persists for long periods of time, the buffer storage will be filled to maximum capacity and any additional data must be discarded.
In an effort to minimize such data loss, there are two types of systems which have been used at a source to prevent or inhibit excess data from entering the network. One such system is a rate-based system in which the rate at which the data is permitted to enter the network is adjusted via a feedback signal from a network reflecting the congestion of the network. This congestion of the network is typically denoted by an explicit forward congestion indication bit or an explicit rate in a form of Resource Management cells fedback to the source node. One such rate controlled system is described in an ATM Forum document #94-0735 entitled "Enhanced PRCA (Proportional Rate-Control Algorithm)" authored by Larry Roberts, August 1994.
A competing system for controlling data transmission uses a credit control approach which guarantees lossless transmission of data cells. The credits are generated starting at a destination node to reflect its ability to receive data. This credit is transmitted back to the next upstream node where this credit is interpreted and modified based on this node's ability to receive data. The process continues through each intermediate node back to the source where the credit at the source reflects all intermediate credits as well as the one from the destination. Typically the credits reflect the unused buffer space at each node. The source then interprets the credit as an indication of the amount of data that it can transmit into the network without any data loss due to congestion or buffer overflow. Note that data rate is not controlled, but the number of cells transmitted is controlled. One such credit controlled system is described in an ATM Forum document #94-0632 entitled "Credit-Based FCVC Proposal for ATM Traffic Management, Revision R2" authored by Doug Hunt, Warner Andrews, Jim Scott, Bob Simcoe, Jon Bennett, H. T. Kung, John Howard, Alan Chapman, and Ken Brinkerhoff, July, 1994.
Each scheme has its advantages and disadvantages. The rate-based scheme relies on end systems to do traffic control. Thus very little intelligence and participation are required on the part of switch nodes of ATM networks. Also, the rate-based paradigm is in accordance with the current standards for ATM traffic management to be implemented on network interface hardware. However, the issues of performance and its ability to react to congestion have been raised about the rate-based scheme. There is no analytical proof or real world experience showing that the rate-based scheme will be able to provide satisfactory performance and minimize cell losses of bursty traffic.
The credit-based scheme, on the other hand, has a solid proof that lossless transmission can be achieved. With its static buffer allocation algorithm, it can also achieve the maximum link bandwidth utilization. However, since the credit-based scheme requires coordination and active participation of all switches in a path, significant changes to the architecture of the existing ATM switches are needed. The switch implementation cost, in terms of processing power and buffer requirement, is also of concern. Thus a main concern about the credit-based scheme is whether or not the scheme is mature enough for wide spread implementation.
Since no single mechanism is believed by all to be shown by simulation and analysis to work well over the wide dynamic range of link speeds and distances and to meet the application requirements, performance, and cost of equipment goals, there is a need to allow both mechanisms be used in a network.